\hypertarget{classCRiffWave}{
\section{\-C\-Riff\-Wave \-Class \-Reference}
\label{classCRiffWave}\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}}
}


{\ttfamily \#include $<$riff\-\_\-wave.\-h$>$}

\subsection*{\-Classes}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{structCRiffWave_1_1SDataChunk}{\-S\-Data\-Chunk}
\item 
struct \hyperlink{structCRiffWave_1_1SFormatChunk}{\-S\-Format\-Chunk}
\end{DoxyCompactItemize}
\subsection*{\-Public \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
\hyperlink{classCRiffWave_af7cb2859bae8cc8741fb5b5cea270d46}{\-C\-Riff\-Wave} ()
\item 
virtual \hyperlink{classCRiffWave_a45ca46c2884a859ae48c93af05641088}{$\sim$\-C\-Riff\-Wave} ()
\item 
bool \hyperlink{classCRiffWave_ab4b2b41c42b9f0ffc676bc0502281bd1}{open} (const char $\ast$p\-Filename)
\item 
bool \hyperlink{classCRiffWave_a05b57daa4a7324d771be4aa0bebf192c}{close} ()
\item 
std\-::string \hyperlink{classCRiffWave_ad0c6907ca7701143404432cdf58a99c2}{get\-Wave\-Info} ()
\item 
unsigned int \hyperlink{classCRiffWave_a25877409f6b4c22be609f3a4405bcfc4}{sample\-Count} ()
\item 
unsigned int \hyperlink{classCRiffWave_a1c23e8ffd759ebee0a3d068100a7da9d}{frame\-Count} ()
\item 
unsigned int \hyperlink{classCRiffWave_a647459735e2ed86e24af62db71a31501}{channels} ()
\item 
unsigned int \hyperlink{classCRiffWave_af186e7211f37fb5eb767a5eece3a66b5}{frame\-Rate} ()
\item 
unsigned int \hyperlink{classCRiffWave_a3559c06f83db0449485b25d0306c0a08}{bits\-Per\-Sample} ()
\item 
unsigned int \hyperlink{classCRiffWave_a35422c38e7ead166850cd801d06e568b}{byte\-Per\-Sample} ()
\item 
unsigned int \hyperlink{classCRiffWave_a4a0c3065a19d754f48a5ddb3d9f83ab0}{byte\-Per\-Frame} ()
\item 
\hyperlink{namespaceNWaveFormatTag_a984a591ddf2ea06019b5881d5b83364d}{\-N\-Wave\-Format\-Tag\-::\-E\-Format\-Tag} \hyperlink{classCRiffWave_a0699c31cbe0cebdfda1dbdef928abdd7}{get\-Format\-Tag} ()
\item 
bool \hyperlink{classCRiffWave_a6c7f59a56f8e4073b419f75c60d6002d}{begin} ()
\item 
unsigned int \hyperlink{classCRiffWave_a717df5922e4386722efab8c913ba1820}{get\-Next\-Samples} (void $\ast$p\-Samples, unsigned int p\-Count, unsigned int \&p\-Start\-Offset)
\item 
unsigned int \hyperlink{classCRiffWave_a7401a7f3e13c02ec289222a34724a1da}{read\-Samples} (void $\ast$p\-Samples, unsigned int p\-Offset, unsigned int p\-Count)
\item 
unsigned int \hyperlink{classCRiffWave_afc325e0a787a5068ee2a3cbeca68d784}{write\-Samples} (void $\ast$p\-Samples, unsigned int p\-Offset, unsigned int p\-Count)
\item 
bool \hyperlink{classCRiffWave_ab59a272f8efaa59beb6820fd8551463c}{flip\-Every\-Second\-Sample} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Member \-Functions}
\begin{DoxyCompactItemize}
\item 
bool \hyperlink{classCRiffWave_aea2b9dd65ba7d5715813bcf5ff5a3db3}{open\-Wave} ()
\end{DoxyCompactItemize}
\subsection*{\-Private \-Attributes}
\begin{DoxyCompactItemize}
\item 
std\-::fstream \hyperlink{classCRiffWave_a5b6a2f65939fb489c62c5c5090aa3f5b}{m\-Wav}
\item 
struct \hyperlink{structCRiffWave_1_1SFormatChunk}{\-C\-Riff\-Wave\-::\-S\-Format\-Chunk} \hyperlink{classCRiffWave_a8e5b898571dc615d83aefe1b4d4b21e4}{m\-Format}
\item 
struct \hyperlink{structCRiffWave_1_1SDataChunk}{\-C\-Riff\-Wave\-::\-S\-Data\-Chunk} \hyperlink{classCRiffWave_a105766db7b33ada4eee53ba6c0f0733b}{m\-Data}
\end{DoxyCompactItemize}


\subsection{\-Detailed \-Description}
infos from\-: \href{http://www.piclist.com/techref/io/serial/midi/wave.html}{\tt http\-://www.\-piclist.\-com/techref/io/serial/midi/wave.\-html}

sample sample sample frame 0 frame 1 frame \-N \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ ch1 $|$ ch2 $|$ ch1 $|$ ch2 $|$ . . . $|$ ch1 $|$ ch2 $|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$ \-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ $|$ = one sample point $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$

channels 1 2 \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ left $|$ right $|$ stereo $|$ $|$ $|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$

1 2 3 \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ left $|$ right $|$ center $|$ 3 channel $|$ $|$ $|$ $|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$

1 2 3 4 \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ front $|$ front $|$ rear $|$ rear $|$ quad $|$ left $|$ right $|$ left $|$ right $|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$

1 2 3 4 \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ left $|$ center $|$ right $|$ surround$|$ 4 channel $|$ $|$ $|$ $|$ $|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$

1 2 3 4 5 6 \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- \-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\- $|$ left $|$ left $|$ center $|$ right $|$ right $|$surround $|$ 6 channel $|$ center $|$ $|$ $|$ center $|$ $|$ $|$ $|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-\-\_\-$|$ 

\subsection{\-Constructor \& \-Destructor \-Documentation}
\hypertarget{classCRiffWave_af7cb2859bae8cc8741fb5b5cea270d46}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!\-C\-Riff\-Wave@{\-C\-Riff\-Wave}}
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{\-C\-Riff\-Wave}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Riff\-Wave\-::\-C\-Riff\-Wave (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_af7cb2859bae8cc8741fb5b5cea270d46}
\hypertarget{classCRiffWave_a45ca46c2884a859ae48c93af05641088}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!$\sim$\-C\-Riff\-Wave@{$\sim$\-C\-Riff\-Wave}}
\index{$\sim$\-C\-Riff\-Wave@{$\sim$\-C\-Riff\-Wave}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{$\sim$\-C\-Riff\-Wave}]{\setlength{\rightskip}{0pt plus 5cm}\-C\-Riff\-Wave\-::$\sim$\-C\-Riff\-Wave (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}virtual\mbox{]}}}}
\label{classCRiffWave_a45ca46c2884a859ae48c93af05641088}


\subsection{\-Member \-Function \-Documentation}
\hypertarget{classCRiffWave_a6c7f59a56f8e4073b419f75c60d6002d}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!begin@{begin}}
\index{begin@{begin}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{begin}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Riff\-Wave\-::begin (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a6c7f59a56f8e4073b419f75c60d6002d}
\-Set the iterator to the first sample.

\begin{DoxyReturn}{\-Returns}
\-True for success. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_a3559c06f83db0449485b25d0306c0a08}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!bits\-Per\-Sample@{bits\-Per\-Sample}}
\index{bits\-Per\-Sample@{bits\-Per\-Sample}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{bits\-Per\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::bits\-Per\-Sample (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a3559c06f83db0449485b25d0306c0a08}
\hypertarget{classCRiffWave_a4a0c3065a19d754f48a5ddb3d9f83ab0}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!byte\-Per\-Frame@{byte\-Per\-Frame}}
\index{byte\-Per\-Frame@{byte\-Per\-Frame}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{byte\-Per\-Frame}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::byte\-Per\-Frame (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a4a0c3065a19d754f48a5ddb3d9f83ab0}
byte\-Per\-Sample and byte\-Per\-Frame would be the same value if there is only one channel. \-If the wave file is stereo then byte\-Per\-Frame is the double of byte\-Per\-Sample. \hypertarget{classCRiffWave_a35422c38e7ead166850cd801d06e568b}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!byte\-Per\-Sample@{byte\-Per\-Sample}}
\index{byte\-Per\-Sample@{byte\-Per\-Sample}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{byte\-Per\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::byte\-Per\-Sample (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a35422c38e7ead166850cd801d06e568b}
\-Alignment of one sample. \hypertarget{classCRiffWave_a647459735e2ed86e24af62db71a31501}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!channels@{channels}}
\index{channels@{channels}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{channels}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::channels (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a647459735e2ed86e24af62db71a31501}
\-Get number of channels. \-Would be return 1 for mono and 2 for stereo.

\begin{DoxyReturn}{\-Returns}
\-Number of channels. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_a05b57daa4a7324d771be4aa0bebf192c}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!close@{close}}
\index{close@{close}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{close}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Riff\-Wave\-::close (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a05b57daa4a7324d771be4aa0bebf192c}
\-Close wav file.

\begin{DoxyReturn}{\-Returns}
\-True for success. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_ab59a272f8efaa59beb6820fd8551463c}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!flip\-Every\-Second\-Sample@{flip\-Every\-Second\-Sample}}
\index{flip\-Every\-Second\-Sample@{flip\-Every\-Second\-Sample}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{flip\-Every\-Second\-Sample}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Riff\-Wave\-::flip\-Every\-Second\-Sample (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_ab59a272f8efaa59beb6820fd8551463c}
\-A demo methode for the use of this class. \-Change every second sample.

\begin{DoxyReturn}{\-Returns}
\-True for successful execution. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_a1c23e8ffd759ebee0a3d068100a7da9d}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!frame\-Count@{frame\-Count}}
\index{frame\-Count@{frame\-Count}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{frame\-Count}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::frame\-Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a1c23e8ffd759ebee0a3d068100a7da9d}
\hypertarget{classCRiffWave_af186e7211f37fb5eb767a5eece3a66b5}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!frame\-Rate@{frame\-Rate}}
\index{frame\-Rate@{frame\-Rate}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{frame\-Rate}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::frame\-Rate (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_af186e7211f37fb5eb767a5eece3a66b5}
\hypertarget{classCRiffWave_a0699c31cbe0cebdfda1dbdef928abdd7}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!get\-Format\-Tag@{get\-Format\-Tag}}
\index{get\-Format\-Tag@{get\-Format\-Tag}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{get\-Format\-Tag}]{\setlength{\rightskip}{0pt plus 5cm}{\bf \-N\-Wave\-Format\-Tag\-::\-E\-Format\-Tag} \-C\-Riff\-Wave\-::get\-Format\-Tag (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a0699c31cbe0cebdfda1dbdef928abdd7}
\hypertarget{classCRiffWave_a717df5922e4386722efab8c913ba1820}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!get\-Next\-Samples@{get\-Next\-Samples}}
\index{get\-Next\-Samples@{get\-Next\-Samples}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{get\-Next\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::get\-Next\-Samples (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Count, }
\item[{unsigned int \&}]{p\-Start\-Offset}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a717df5922e4386722efab8c913ba1820}
\-Get the next samples from the current iterator position.


\begin{DoxyParams}{\-Parameters}
{\em p\-Samples} & \-Array to store the samples. \\
\hline
{\em p\-Count} & \-Count of samples which should be stored. \-Array p\-Samples must has a least p\-Count elements. \-One element is equal one sample and must have the size of \hyperlink{classCRiffWave_a35422c38e7ead166850cd801d06e568b}{byte\-Per\-Sample()}. \\
\hline
{\em p\-Start\-Offset} & \-Stores the offset of the first sample. \-This value can be useful for p\-Offset from write\-Samples methode. \-The offset is sample orientated and not byte orientated. \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
\-Count of read samples. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_ad0c6907ca7701143404432cdf58a99c2}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!get\-Wave\-Info@{get\-Wave\-Info}}
\index{get\-Wave\-Info@{get\-Wave\-Info}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{get\-Wave\-Info}]{\setlength{\rightskip}{0pt plus 5cm}string \-C\-Riff\-Wave\-::get\-Wave\-Info (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_ad0c6907ca7701143404432cdf58a99c2}
\-Get information about the opened wav file.

\begin{DoxyReturn}{\-Returns}
\-String which contains the infos. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_ab4b2b41c42b9f0ffc676bc0502281bd1}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!open@{open}}
\index{open@{open}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{open}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Riff\-Wave\-::open (
\begin{DoxyParamCaption}
\item[{const char $\ast$}]{p\-Filename}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_ab4b2b41c42b9f0ffc676bc0502281bd1}
\-Open a \-R\-I\-F\-F \-W\-A\-V\-E file and validate it.

\begin{DoxyReturn}{\-Returns}
\-True if the file is found and validated. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_aea2b9dd65ba7d5715813bcf5ff5a3db3}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!open\-Wave@{open\-Wave}}
\index{open\-Wave@{open\-Wave}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{open\-Wave}]{\setlength{\rightskip}{0pt plus 5cm}bool \-C\-Riff\-Wave\-::open\-Wave (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRiffWave_aea2b9dd65ba7d5715813bcf5ff5a3db3}
\hypertarget{classCRiffWave_a7401a7f3e13c02ec289222a34724a1da}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!read\-Samples@{read\-Samples}}
\index{read\-Samples@{read\-Samples}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{read\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::read\-Samples (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Offset, }
\item[{unsigned int}]{p\-Count}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a7401a7f3e13c02ec289222a34724a1da}
\-Read a count of samples from the wav file. \-If the wav file has to channels then the samples are \-C\-H1, \-C\-H2, \-C\-H1, \-C\-H2, \-C\-H1, ... and so on.


\begin{DoxyParams}{\-Parameters}
{\em p\-Samples} & \-Array for storing the samples \\
\hline
{\em p\-Offset} & \-Offset of the first sample (unit\-: 1 sample). \\
\hline
{\em p\-Count} & \-Count of samples (unit\-: 1 sample). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
\-Count of read samples. 
\end{DoxyReturn}
\hypertarget{classCRiffWave_a25877409f6b4c22be609f3a4405bcfc4}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!sample\-Count@{sample\-Count}}
\index{sample\-Count@{sample\-Count}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{sample\-Count}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::sample\-Count (
\begin{DoxyParamCaption}
{}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_a25877409f6b4c22be609f3a4405bcfc4}
\-Return count of samples. \-If the wave file has two channels then the value is the count of both channels.

\begin{DoxyReturn}{\-Returns}
\-Count of samples from all channels 
\end{DoxyReturn}
\hypertarget{classCRiffWave_afc325e0a787a5068ee2a3cbeca68d784}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!write\-Samples@{write\-Samples}}
\index{write\-Samples@{write\-Samples}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{write\-Samples}]{\setlength{\rightskip}{0pt plus 5cm}unsigned int \-C\-Riff\-Wave\-::write\-Samples (
\begin{DoxyParamCaption}
\item[{void $\ast$}]{p\-Samples, }
\item[{unsigned int}]{p\-Offset, }
\item[{unsigned int}]{p\-Count}
\end{DoxyParamCaption}
)}}
\label{classCRiffWave_afc325e0a787a5068ee2a3cbeca68d784}
\-Write a count of samples into the wav file. \-If the wav file has to channels then the samples must be ordered like \-C\-H1, \-C\-H2, \-C\-H1, \-C\-H2, \-C\-H1, ... and so on.


\begin{DoxyParams}{\-Parameters}
{\em p\-Samples} & \-Array for samples which should be written. \\
\hline
{\em p\-Offset} & \-Offset of the first sample in the file (unit\-: 1 sample). \\
\hline
{\em p\-Count} & \-Count of samples (unit\-: 1 sample). \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{\-Returns}
\-Count of written samples. 
\end{DoxyReturn}


\subsection{\-Member \-Data \-Documentation}
\hypertarget{classCRiffWave_a105766db7b33ada4eee53ba6c0f0733b}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!m\-Data@{m\-Data}}
\index{m\-Data@{m\-Data}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{m\-Data}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf \-C\-Riff\-Wave\-::\-S\-Data\-Chunk}  {\bf \-C\-Riff\-Wave\-::m\-Data}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRiffWave_a105766db7b33ada4eee53ba6c0f0733b}
\hypertarget{classCRiffWave_a8e5b898571dc615d83aefe1b4d4b21e4}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!m\-Format@{m\-Format}}
\index{m\-Format@{m\-Format}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{m\-Format}]{\setlength{\rightskip}{0pt plus 5cm}struct {\bf \-C\-Riff\-Wave\-::\-S\-Format\-Chunk}  {\bf \-C\-Riff\-Wave\-::m\-Format}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRiffWave_a8e5b898571dc615d83aefe1b4d4b21e4}
\hypertarget{classCRiffWave_a5b6a2f65939fb489c62c5c5090aa3f5b}{
\index{\-C\-Riff\-Wave@{\-C\-Riff\-Wave}!m\-Wav@{m\-Wav}}
\index{m\-Wav@{m\-Wav}!CRiffWave@{\-C\-Riff\-Wave}}
\subsubsection[{m\-Wav}]{\setlength{\rightskip}{0pt plus 5cm}std\-::fstream {\bf \-C\-Riff\-Wave\-::m\-Wav}\hspace{0.3cm}{\ttfamily  \mbox{[}private\mbox{]}}}}
\label{classCRiffWave_a5b6a2f65939fb489c62c5c5090aa3f5b}


\-The documentation for this class was generated from the following files\-:\begin{DoxyCompactItemize}
\item 
\hyperlink{riff__wave_8h}{riff\-\_\-wave.\-h}\item 
\hyperlink{riff__wave_8cxx}{riff\-\_\-wave.\-cxx}\end{DoxyCompactItemize}
